Not Applicable
1. Field of the Invention
The present invention relates to a database access system which delivers and stores information in response to accesses from a plurality of users. More particularly, this invention relates to a database access method whereby it is possible to build a database which may have various data structures, without requiring new programs to be prepared for those structures, thereby reducing the time, labor and cost required for the preparation of such programs, and relieving the database builder of technical knowledge usually required for such database construction, a database access system based on that method, and a recording medium to record computer programs related with such a database access system, capable of being read by a computer.
2. Description of the Related Art including information disclosed under 37 CFR 1.97 and 1.98
To build a system enabling the use of a database, it is common to determine the table constitution at first, and then prepare a computer program, so that data can be entered and extracted into and from a database according to the name of tables, column headings, etc.
However, with such a system, if any element of the table constitution or any column heading is modified, it will be necessary, even if the new system is similar in function, to modify the program in association with the modification. Moreover, if it becomes necessary to modify any element of the table constitution or column heading after the system has been run, it will be necessary to reenter data as well as to modify the program. Such a system has another problem that, even though the system remains the same, if the language used for describing the name of table or column heading which has been compatible with the language of the database server is substituted for another, it will be also necessary to modify the program.
To meet such problems, a method has been proposed like the present invention wherein complex data comprising a number of elements are fed and extracted to and from a database, and structure defining data are introduced independently of a physical table carrying a database, thereby ensuring the structural alterability and diversity of the complex data. Such a method is disclosed in Japanese Patent Laid-Open Nos. 11-249952 and 11-265395. The invention of Japanese Patent Laid-Open No. 11-249952 provides complex data as an object whose attribute is alterable, while the invention of Japanese Patent Laid-Open No. 11-265395 provides the complex data as a virtual table whose relation to the real table is alterable.
However, with these two inventions, the types of elementary data are not defined independently of the types of complex data, contrary to the present invention. Further, both the inventions do not give a solution to the problem involved in the substitution of the database server language for another.
With the invention of Japanese Patent Laid-Open No. 11-249952, an attribute is independent of the object which constitutes. With the invention of Japanese Patent Laid-Open No. 11-265395, the column heading of a virtual table is directly related with the column heading of a real table. Accordingly, with the former invention, different kinds of objects can not share a common attribute. With the latter invention, because the real column data are directly related with the virtual column data, it will be impossible to express that different columns in different virtual tables contain same contents. It will be also impossible to search through different data masses over different types of complex data using an elementary data value put under a common data category. For example, with the latter method, a case is incompatible with the system where complex data types A, B and C have the date of data registration as an data category, and manages data masses using that date of registration data element, while the rest complex data types don""t, nor a case where different data masses are searched over plural complex data types using a period during which data registration has been made.
Take, as an example, management files of companies. Various personnel files may include the name of employees, ID No., etc. in common, while various design files may include the project code, storage period, etc. in common. There often occur a plurality of common data items among different files, and if such commonness is not introduced in the system to allow the user to search across different data masses using a common data value, it will be very inconvenient.
Further, with the inventions of Japanese Patent Laid-Open Nos. 11-249952 and 11-265395, although the structure defining data are introduced to ensure the alterability and diversity of database structure, the structure management data are not managed in relation to users. Because of this, the access authorization to the structure definition cannot be controlled based on the grouping of users. This functional shortage causes various inadequate data management, e.g., a management file of a company whose access should be limited to specified departments or authorized groups will be accessible to any employees, or an employee will have to run through numerous, useless data before he will be able to reach a particular kind of data.
The present invention has been proposed to give a solution to the above problems, and aims at providing a database access system whereby it is possible to construct a database, even when the database is to contain complex data with various configuration, without requiring separate or new programs for those variety of data configurations, by only altering the content of definition tables, thereby reducing the time, labor and cost required for the preparation of such programs, and relieving the database builder of technical knowledge usually required for such database construction.
The first invention specified here provides a database access method to deliver and store information from and in a database in response to instructions through accesses from a plurality of users, wherein single data blocks constituting the database or their clusters are made elements; data masses each comprising at least one element are prepared; data structures are defined for the data masses; elementary data type definitions are introduced to define the type of various data collected in the database at least by the data category and ID; complex data type definitions are introduced to define the complex of elementary data type definitions; the various data masses available to users are defined by specifying complex data types and assigning ID codes to the data masses; feeding individual data into the database occurs by preserving an area in the storage space of the database for each elementary data type, and storing data in a corresponding area together with the ID code defining the data mass it constitutes; and access to individual data in the database occurs by specifying the ID code for data mass, and the related complex data type definition. This forms a solution to the above problem. When locating data in a database by this method, direct notification of the names of corresponding table and column heading is not required. Accordingly, the language used for description of tables and column headings may be put aside from consideration, which relieves the database builder of a burden of changing table names or column heading names in the program which is required whenever the database server is substituted to support an incompatible language. This forms another solution to the above problem.
Further, with the database access method representing the first invention, the database information comprises electronically stored documents; the complex data type definitions are a stored assembly of format documents to serve as a model for document preparation, accompanied with typical attributes to be given to a prepared document, and document-related information files; to prepare a document, any one is selected from the format documents; a desired document is prepared according to that format; and the prepared document is stored together with attribute values necessarily given to the document before storage, and supplementary attribute values added as needed. This forms a still further solution to the above problem. Moreover, the first invention specified here can be used as a document attribute management system.
Still further, with the database access method representing the first invention, information stored is organized in a hierarchical structure like a tree in which a plurality of groups are arranged such that any group has one or less group on the layer just above it; a user, who defines a complex data type by specifying elementary data types as its members, or registers a data mass by specifying its complex data type, the data is assigned without fail to a group; and selection of users accessible to a particular elementary or complex data type who notifies an elementary or complex data type, is achieved by using at least the information of the hierarchical structure. This forms a still further solution to the above problem.
Still further, with the database access system representing the first invention, information of an owner group is stored for each elementary and complex data type; information of authorized groups and authorized operations is stored for each elementary and complex data type; and selection of users who are permitted to handle or use a particular elementary or complex data type, to view or change its definitions, or to handle or use a particular elementary data type to make the definition of a complex data type, or to handle or use a complex data type to make the definition of a data mass, is achieved by using the information of owner group and authorized groups as well as the information of the hierarchical data structure. This forms a still further solution to the above problem.
The second invention specified here provides a database access system to deliver and store information from and in a database in response to instructions through accesses of a plurality of users, comprising following data storages, in accordance with the structure of the data masses which are made of at least single data block; the elementary data type definition table storage for storing elementary data type definitions which define the type of various data collected in the database at least by the data category and ID, wherein single data blocks constituting the database or their clusters are made elements, data masses each comprising at least one element are prepared, data structures are defined for the data masses; a complex data type definition table storage for storing at least ID codes of complex data type which define the type of data masses; a complex/elementary data type relation table storage for storing at least one elementary data type in relation to each complex data types; and a data mass storage for storing definition of each data mass accessible to users at least by the notified ID codes of complex data type and ID codes attached to the data masses; whereby feeding individual data into the database occurs by preserving an area in the storage space of the database for each elementary data type, and storing data in a corresponding area together with the ID code defining the data mass the data constitute; and access to individual data in the database occurs by referring to the complex/elementary data type relation table using the ID code of a complex data type which is stored in the data mass storage coupled with the corresponding data mass, thereby obtaining the area where a desired elementary data type is stored, and then by identifying a desired data mass using the ID code of data mass for access. This forms a still further solution to the above problem.
Further, with the database access system representing the second invention, a hierarchical structure defining portion is for storing information organized like a tree in which a plurality of groups are arranged such that any group has one or less group on the layer just above it; a user belonging determining portion for assigning each user, who specifies elementary data types for defining complex data types, or specifies complex data types for defining data masses to a group without fail: and a user selecting portion for selecting users who are permitted to access to a particular elementary or complex data type according to the information of the group hierarchy structure. This forms a still further solution to the above problem.
Still further, with the database access system representing the second invention, an owner group information storage for storing information of an owner group for each elementary or complex data type; an authorization information storage for storing information of authorized groups and authorized operations for each elementary or complex data type; and an user selecting portion for selecting users who are permitted to view or change the definitions of a particular elementary or complex data type, or to use a particular data category to make the definition of a complex data type, or to use a complex data type to make the definition of a data mass, on the basis of the information of owner groups and authorization information as well as the information of the hierarchical data structure. This forms a still further solution to the above problem.
Still further, with the database access system representing the second invention, the data category definition table storage, complex data type definition table storage, and complex/data category relation table storage are integrated in a database server unit; a display function program is introduced which automatically creates a screen defining program on the basis of information stored in the storages for data category definition table, complex data type definition table, and complex/elementary data type relation table; an assembly of such display function programs are stored in a web server unit together with screen defining programs created by them; and access to individual data in a database occurs by using the screen defining programs. This forms a still further solution to the above problem.
With this invention, the web server unit is not limited to an ordinary one. It may be, for example, a user interface unit having a similar function. Or it may be an internet server.
Still further, the database access system of the second invention may have two or more web server units. This forms a still further solution to the above problem.
Still further, with a database access system according to this invention to deliver and store information from and in a database in response to instructions through access from a plurality of users, the database is stored in a database server unit; a web server unit connected to the database server unit is provided; a client unit is connected to the web server unit through a communication line; and the user can access to the database using a web browser installed in the client unit through the communication line and web server unit. This forms a still further solution to the above problem.
With this invention, the web server unit is not limited to an ordinary one. It may be, for example, a software package having a similar function, or a client software package having a similar function, or an internet client.
Still further, with a database access system according to this invention to deliver and store information from and in a database in response to instructions through access from a plurality of users, the database is stored in a database server unit; a web server unit is connected to the database server unit through a local area network (LAN); a client unit is connected to the web server unit through the LAN; and the user can access to the database using a web browser installed in the client unit through the LAN and web server unit. This forms a still further solution to the above problem.
Still further, with a database access system according to this invention to deliver and store information from and in a database in response to instructions through access from a plurality of users, the database is stored in a database server unit; at least one web server unit is connected to the database server unit through a exclusive communication line; a client unit is connected to the web server unit through communication lines containing at least the internet; and the user can access to the database using a web browser installed in the client unit through the communication line and web server unit. This forms a still further solution to the above problem.
Still further, a recording medium capable of being read by a computer is provided which records a computer program to control the elementary data type definition table storage, complex data type definition table storage, and elementary/complex data type relation table storage of the second invention. This forms a still further solution to the above problem.
Another recording medium capable of being read by a computer is provided which records a computer program to activate the hierarchical structure defining portion, user""s belonging determining portion, and user selecting portion. This forms a still further solution to the above problem.
A still further recording medium capable of being read by a computer is provided which records a computer program to activate the portions for storing information of owner groups, authorization information to particular data, and selection of users for access to particular data. This forms a still further solution to the above problem.
Still further, with a document attribute managing method according to this invention whereby it is possible to electronically store documents and information of the attributes of those documents necessary for the management of documents, format documents to serve as a model for document preparation are stored as an assembly of files containing typical attributes to be given to a prepared document, and document-related information; to prepare a document, an appropriate one is selected from the format documents; a desired document is prepared according to that format; and the prepared document is stored together with the attribute values in the assembly necessarily given to the document before storage, and supplementary attribute values added as needed. This forms a still further solution to the above problem.
Still further, with a document attribute managing system according to this invention whereby it is possible to electronically store documents and information of the attributes of those documents necessary for the management of documents, a format document storing device is implemented to store format documents useful for document preparation as an assembly of files together with typical attributes necessarily given to a prepared document, and document-related information; an input device is implemented which, when, for preparing a document, an appropriate one is selected from the format documents, a desired document is prepared according to that format, and the prepared document is stored, determines the appropriate name of document, and attributes and attribute values to be supplemented; and a document storing device is implemented which stores the thus prepared document together with attributes necessarily given to the document before storage, and their values, and supplementary attributes and their values added as needed. This forms a still further solution to the above problem.
Still further, a recording medium capable of being read by a computer is provided which records a computer program to control the format document storing device, input device and document storing device. This forms a still further solution to the above problem.
Still further, with a database access method of this invention to allow search through data stored in a database in response to requests through access from a plurality of users, single data blocks constituting the database or their clusters are made elements; data masses each comprising at least one element are prepared; data structures are defined for the data masses; elementary data type definitions are introduced to define the type of various data collected in the database at least by the type and ID; the complex data type definitions is introduced as a mass of elementary data type definitions; each of the various data masses available to users is defined by specifying a complex data type and adding an ID code to the data mass; feeding individual data into the database occurs by preserving an area in the storage space of the database for each elementary data type, and storing data in a corresponding area together with the ID code defining the data mass the data constitutes; and locating desired data in the database occurs by describing a search condition through a logic computation based on at least a combination of one elementary data type and its value, and seeking a data mass meeting the search condition, regardless of the type of involved complex data mass. This forms a still further solution to the above problem.
Still further, with a database access system of this invention to allow search through data stored in a database in response to requests through access from a plurality of users; a first means is implemented to prepare elementary data type definitions to define the type of various data collected in the database at least by the type and ID according to the data structure of data mass wherein single data blocks constituting the database or their clusters are made elements, data masses each comprising at least one element; a second means is implemented to define each of the various data masses available to users by specifying a complex data type and adding an ID code to the data mass, wherein complex data type definitions are introduced as mass of the type of elementary data type definitions; a third means is implemented to store the data, when feeding individual data into the database occurs by preserving an area in the storage space of the database for each data category, and storing data in a corresponding area together with the ID code of the data mass the data constitutes; and locating desired data in the database occurs by describing a search condition through a logic computation based on a combination of at least one set of an elementary data type and its value, and by seeking a data mass meeting the search condition, regardless of the type of involved complex data. This forms a still further solution to the above problem.
Still further, a recording medium capable of being read by a computer is provided which records a computer program to control the first to third means of the database access system. This forms a still further solution to the above problem.
Still further, with a database access system of this invention to allow search through data stored in a database in response to requests through access from a plurality of users, an elementary data type definition table storage is implemented for to storing elementary data type definitions which define the types of various data collected in the database at least by the type and ID in accordance with the data structures constituting the data mass, wherein single data blocks constituting the database or their clusters are made elements, data masses each comprising at least one element are prepared; a complex data type definition table storage is implemented for storing at least ID codes of complex data types which define the type of data masses, a complex/elementary data type relation table storage is implemented for storing at least one elementary data type in relation to each complex data type to define the complex data type as a mass of elementary data type; and a data mass storage is implemented for storing definitions of data masses at least by the notified ID codes of complex data type and ID codes of the data mass on the ground that those data masses may be accessible to users through notification of complex data types and IDs of data mass; searching a desired data mass in the database occurs by obtaining a search condition through a logic computation based on a combination of at least one set of an elementary data type and its value, and by searching through the data mass storage, complex data type definition table storage, complex/elementary data type relation table storage, and elementary data type definition table storage, using the search condition, and thus finding a data mass meeting the search condition, regardless of the type of involved complex data. This forms a still further solution to the above problem.
Still further, a recording medium capable of being read by a computer is provided which records a computer program to control the elementary data type definition table storage, complex data type definition table storage, and complex/elementary data type relation table storage of the database access system. This forms a still further solution to the above problem.
Operation of the present invention will be briefly outlined below.
FIG. 1 is a block diagram to show the composition of a typical database access system of this invention.
The database access system shown in FIG. 1 is one to deliver and store information from and in a database in response to instructions through access from a plurality of users. The database access system of this invention comprises an elementary data type definition table storage 11, complex data type definition table storage 12 and complex/elementary data type relation table storage 13. These storages constitutes a database definition information group 10 as shown in the figure. When the user accesses to a real database 16 comprising individual data arranged in accordance with the definitions provided by the database definition information group 10, he uses a complex data recording table 15.
With this invention, to build a database, a single data block or a cluster of data blocks is taken as an element; a data mass contains at least one element; and special attention is paid to the structure of the data mass. For this purpose, the type of data is defined; and a data mass comprising the data is prepared in accordance with the data type defined. With this invention, storage of data in a database and access to data in a database occurs through the defined data type, or more concretely, by the definitions given in tables.
The elementary data type definition table storage 11 stores elementary data type definitions to define the type of various data stored in a database at least by the data type and ID. The complex data type definition table storage 12 stores the definitions of various data masses available to users after the definitions have been given through the elementary data definition table storage 11. The data mass may be taken as a list of complex data types usable as a structure of the data available to users.
The complex/elementary data type relation table storage 13 stores definitions to show which complex data type comprises which elementary data types.
Feeding individual data into a database according to the definitions given by the database definition information group 10 is accompanied by recording at least an ID code uniquely specifying the complex data block, and the complex data type into the complex data recording table. Further, for each of the elementary data types constituting the complex data type, the elementary data is stored into a memory space previously prepared in the database for each elementary data type, to be thus stored in the real database 16 together with the ID code. To access to a desired elementary data stored in the real database 16, the user finds a desired complex data in the complex data recording table, to obtain its ID and complex data type; he refers then to the complex/elementary data type recording table to know at what area in the real database 16 the desired data element exists in the memory space prepared for each elementary data type; and he obtains the desired data element by seeking the data having the ID obtained from the complex data recording table.
As seen from above, with this invention, it is possible to construct various types of database by simply altering the definitions listed in the tables, without requiring the remake of programs for the change, and thus to reduce the time, labor and cost required for the preparation of such programs, and relieve the database builder of technical knowledge usually required for such database construction.
FIG. 2 is a block diagram to show the composition of a typical database access system that allows the selection of users according to this invention.
The database access system shown in FIG. 2 is for delivering and storing information from and in a database in response to instructions through access of a plurality of users, and also for storing information necessary for management of data accesses. The database access system comprises a group definition table storage 21, structure definition table storage 22 and user definition table storage 23.
The group definition table storage 21 stores information of individual groups, by group IDs assigned to each group. The structure definition table storage 22 stores definitions to determine the relations of group IDs or user IDs in terms of their departments or users. The user definition table storage 23 stores information of individual users in terms of their user IDs.
With this invention, individual groups, and users belonging to those groups are defined in a tree-like structure. The definition is also given by the setting in the tables, which have been appropriately modified for this purpose. With this invention, information of groups and users is organized in a hierarchical structure comprising at least one tree-like structure in which groups and users are arranged such that any group or user has one or less group or user on the layer just above it; and the information is stored in the tables. The definition is prepared such that every user who may possibly access to the database is assigned without fail to a group. Selection of groups or users who are permitted to access to or give modifications to a particular data element is achieved on the basis of the information of the group hierarchy structure stored in the tables.
This invention is so prepared, although it is not limited to this alone, as to make it possible to select appropriate users for a particular data element and construct various types of database, by simply altering the definitions listed in the tables, without requiring the remake of programs for the change, and thus to reduce the time, labor and cost required for the preparation of such programs, and relieve the database builder of technical knowledge usually required for such database construction.
The first invention specified here can be applied for the production of a document attribute management system. For example, it can be applied as shown in FIG. 3. This example will be described later as a second embodiment. FIG. 3 is a block diagram to show the composition of such a document attribute management system.
The document attribute management system shown in FIG. 3 stores electronically not only documents but information of their attributes necessary for their management. The document handled by the document attribute management system may include, for example, a document carrying various items and data such as an xe2x80x9cinvoice,xe2x80x9d document prepared as a document file on a word-processor, graphics, and various others. A graphics prepared as a CAD data file on a CAD software package may be handled as a document.
This document attribute management system comprises a format document storing device 33, input device 35, and document storing device 34. It may further comprise a display device 36 as needed.
The format document storing device 33 stores various format document to serve as a model for document preparation as an assembly of files together with necessary attributes and document-related information. The necessary attributes may include, for example, the name and author of the document. Such attributes must be implemented whenever a document is stored, in order to ensure its secure management.
The necessary attribute may include, for example, information such as the name of author of a document which is used for the management of the document, or information through which the document is used in a database for document search and so on. The name of a document which must be attached to a document whenever the document is stored may be taken as one of such attributes.
The above attribute may include data incorporated in a document containing various items and data, such as xe2x80x9cnames of customers,xe2x80x9d or xe2x80x9cnames of purchased goodsxe2x80x9d in an xe2x80x9cinvoice.xe2x80x9d Or, the document-related information file may include a document data file prepared on a word-processor, and a CAD data file of graphics prepared on a CAD software package when graphics are managed as the document. The document-related information file is handled as the attribute.
The input device 35 is used for selecting an appropriate format document before a new document is prepared. When a document has been prepared according to the format document, and it is stored, the input device is used for setting values of necessary attribute items and supplementary attribute items and their values added as needed. The document storing device 34 stores the prepared document together with its set value of necessary attribute item and supplementary attribute items and their values.
With this document attribute management system, when a document is electronically stored, information of the attributes of the document which are necessary for the management of the document is stored in association. Information of the attributes is used for searching or managing the document.
With this document attribute management system, various format document to serve as a model for document preparation are stored as an assembly of files together with necessary attributes and document-related information. When a new document is prepared, an appropriate model document is selected from the format documents, and a desired document is prepared according to the model document.
Then, it is known what attributes are necessary for a new document. If appropriate attributes are attached to the new document, then necessary attributes are attached according to the model document. Therefore it is possible with such an arrangement to reduce the labor and time involved in the work while ensuring the opportunity of properly and speedily providing the user with various attributes necessary for proper management of the document. The thus prepared document is stored together with the necessary attribute values and supplementary attribute items and their values added as needed.
With such a document attribute management system, it is possible to provide various attributes necessary for management of documents properly and speedily, and to reduce the labor and time required for the work, and to improve the resolution of data search with use of the attributes. It is also possible to construct various types of database by simply altering the definitions listed in the tables, without requiring the remake of programs for the change, and thus to reduce the time, labor and cost required for the preparation of such programs, and relieve the database builder of technical knowledge usually required for such database construction.
Selection of users as described in relation to the invention with reference to FIG. 2 is applicable to the document access management system. For example, FIG. 4 gives such an application which will be later described as a second embodiment. FIG. 4 is a block diagram to show the composition of such a document access management system.
The document access management system shown in FIG. 4 stores electronically not only documents but information necessary for management of the access to them. The document access management system comprises a group hierarchy structure information storing device 43, document storing device 41 and selection management device 45. Symbol 47 represents a document accessible to users.
With the document access management system, users accessible to a document are selected on the basis at least of their qualification for the reference to the document. The document access management system may select users on the basis of their qualification for the updating of the document, although it is not limited to it alone. The document access management system may further select users on the basis of their qualification for a management authority to give a permission to view the document to a third party.
With this system, every user that may at least make reference to a document is assigned without fail to a group. For example, a user""s group management information storing device 44 is implemented as needed to store the information regarding the setting of groups to which a given user belongs, as the users group management information.
Information of the owner group including, as at least one of the access management information, owner group information which shows an original group for management to update documents or determine the addressees of the documents, and access authorized group information to show access authorized group may be stored in the document storing device 41 together with the related documents. Alternatively, as shown in the figure, it is also possible to implement, apart from the document storing device 41, an access management information storing device 42 to store the information regarding the original groups, and information regarding groups permitted to access to the above information.
In FIG. 4, the group hierarchy structure information storing device 43 stores information of groups which are organized in a hierarchical structure comprising at least one tree-like structure in which groups are arranged such that any group has one or less group on the layer just above it. The document storing device 41 may further store, as one of the access management information, for each document, regarding the owner group which is responsible for the updating and distribution of the document, and information of the groups which are permitted to access to the document, in addition to the document itself. The selection management device 45 selects users that are permitted to access to a document, or management of a document, at least on the basis of information of the groups organized in a group hierarchy structure, or information of the original groups.
Firstly, the document access management system having the above constitution stores information of groups which are organized in a hierarchical structure comprising at least one tree-like structure in which the groups are arranged such that any group has one or less group on the layer just above it. Then, a user that may at least access to a document is assigned without fail to a group. The system may further store, as at least one of the access management information, for each document, regarding the owner group which is responsible for the updating and distribution of the document, an information of the groups which are permitted to access to the document, in addition to the document itself.
The system selects users 48 that may access to a document or manage a document at least on the basis of information of the group hierarchy structure, and of the original groups. Therefore, with this system, it is possible to select users 48 that may access to a document or manage a document flexibly in accordance with the business condition requiring the document. With this system it is also possible to efficiently specify or implement a new selection mode in accordance with the business condition. Moreover, with this system, it is still further possible to construct a database by simply arranging the definitions listed in the tables, to thereby reduce the time, labor and cost required for the preparation of a database, and relieve the database builder of technical knowledge usually required for such database construction.
These and other novel features and advantages of the present invention will become apparent from the following detailed description of preferred embodiments.